<?php

/**
*	版块删除和恢复 (物理删除) 
*
*/

//包含公共文件
include '../../common/common.php';

//接收get传值,用于确定版块
// var_dump($_POST);

$categoryBtn2 = $_POST['categoryBtn2'];
$arrCid  = $_POST['arrCid2'];

//判断选项是否为空
if (!$arrCid) {

	exit('选项不得为空 <a href="'  . $_SERVER['HTTP_REFERER'] .'">返回上一页</a>');
}

$strCid = join(',' , $arrCid); 
// var_dump($strCid);

/*************		恢复数据,修改伪删除的字段值		**********************/

//取出每个cid 比对,判断是否为父级版块
if ($categoryBtn2 == '恢 复') {

	foreach ($arrCid as $valCid) {

		//获取cid
		$cid = $valCid;
		// var_dump($cid);

		//修改当前版块(可能为父级版块,也可能为子级版块)
		$resCurr = myUpdate($link , DB_TABLE_CG , ['cisdel' => 0] , "cid = $cid");

		//判断当前版块是否修改成功
		if (!$resCurr) {
			exit('当前版块恢复失败 <a href="'  . $_SERVER['HTTP_REFERER'] .'">返回上一页</a>');
		}

		//判断是否为父级cid
		$resCid     = mySelect($link , '*' , DB_TABLE_CG , "where cid=$cid");
		$parentid  = $resCid[0]['parentid'];
		$classid    = $resCid[0]['cid'];
		$parentdel = $resCid[0]['parentdel'];

		// var_dump($resCid);

		//定义一个空变量,防止报错
		$str = '';

		//判断是否为父级版块
		if  ($parentid == 0) {

			
			//获取父级版块下的子级版块
			$selSon =  mySelect($link , '*' , DB_TABLE_CG  , "where  parentid=$cid");
			// var_dump($selSon);

			//该版块若存在子版块
			if ($selSon) {

				//隐藏父级版块下的子版块
				$resSon = myUpdate($link , DB_TABLE_CG , ['cisdel' => 0 , 'parentdel' => 0] , "parentid=$cid");
				// var_dump($resSon);

				//隐藏子版块成功
				if ($resSon) {
					$str .= '、子版块、';
				}

				//查找出子版块的cid 存入数组
				foreach ($selSon as $valSon) {
					$rowCid[] = $valSon['cid'];
				} 
				//将子版块cid拼接成字符串
				$strRowCid = join(',' , $rowCid);
				// var_dump($rowCid);
				// var_dump($strRowCid);
				
				//查找回收的子版块下的帖子是否存在, 并获取帖子id 
				$selSon2 = mySelect($link , '*' , DB_TABLE_DETAIL  , " where  classid in ($strRowCid)");
				// var_dump($selSon2);

				//若子版块中存在帖子
				if ($selSon2) {

					//修改回收版块下的帖子
					$updateSon2 = myUpdate($link , DB_TABLE_DETAIL , ['isdel' => 0, 'catedel' => 0] , "classid in ($strRowCid)") ;
					// var_dump($updateSon2);

					//隐藏帖子成功
					if ($updateSon2) {
						$str .= '帖子、';
					}

					//获取帖子的id 数组,用于判断评论
					foreach ($selSon2 as $valSon2) {

						$arrId[] = $valSon2['id'];
					}
					$strId = join(',' , $arrId);
					// var_dump($strId);

					//查询帖子的评论
					$selSon3 = mySelect($link , '*' ,DB_TABLE_DETAIL , "where  id in ($strId)");

					//若帖子存在评论,隐藏评论
					if ($selSon3) {

						//隐藏评论
						$updateSon3 = myUpdate($link , DB_TABLE_DETAIL , ['isdel' => 0, 'catedel' => 0, 'detaildel' => 0] , "tid in ($strId)");
						//隐藏评论成功
						if ($updateSon3) {
							$str .= '帖子的评论';
						}

							/**********************************/
							/*	//之后添加评论的回复伪删除过程    */
							/*	//查询评论的回复(sql查询)	     */
							/*	//若评论的回复存在(if判断)	     */
							/*	//修改评论的回复(sql修改)	     */
							/*********************************/
					}
					
				}
				
			}

		} else {

			//若当前版块不是父级版块
			if ($parentdel == 0) {

				//查询当前版块是否存在帖子
				$selSon2 = mySelect($link , '*' , DB_TABLE_DETAIL , "where  classid=$classid");
				// var_dump($selSon2);

				//若版块中存在帖子
				if ($selSon2) {

					//修改回收版块下的帖子
					$updateSon2 = myUpdate($link , DB_TABLE_DETAIL , ['isdel' => 1, 'catedel' => 1] , "classid=$classid") ;
					// var_dump($updateSon);
					//隐藏帖子成功
					if ($updateSon2) {
						$str .= '、帖子';
					}

					//获取帖子的id 数组,用于判断评论
					foreach ($selSon2 as $valSon2) {

						$arrId[] = $valSon2['id'];
					}
					$strId = join(',' , $arrId);
					// var_dump($strId);

					//查询帖子的评论
					$selSon3 = mySelect($link , '*' ,DB_TABLE_DETAIL , "where  id in ($strId)");

					//若帖子存在评论,隐藏评论
					if ($selSon3) {

						//隐藏评论
						$updateSon3 = myUpdate($link , DB_TABLE_DETAIL , ['isdel' => 1, 'catedel' => 1, 'detaildel' => 1] , "tid in ($strId)");
						//隐藏评论成功
						if ($updateSon3) {
							$str .= '、帖子评论均';
						}
						
							/**********************************/
							/*	//之后添加评论的回复伪删除过程    */
							/*	//查询评论的回复(sql查询)	     */
							/*	//若评论的回复存在(if判断)	     */
							/*	//修改评论的回复(sql修改)	     */
							/*********************************/
					}
					
				}

			} else {

				//获取父级版块名
				$parentName = mySelect($link , '*' , DB_TABLE_CG , "where cid=$parentid");
				exit('父级版块' . $parentName[0]['classname'] . '未恢复之前,当前版块不得恢复 <a href="'  . $_SERVER['HTTP_REFERER'] .'">返回上一页</a>');
			}
		
		
		}

		
	}

	//跳转页面
	 echo  '当前版块' . $str . ' 都 已恢复成功';
	header('refresh:1;url=' . $_SERVER['HTTP_REFERER']);
}

/***********		物理删除,(永久删除)		***********************/


if ($categoryBtn2 == '删 除') {

	foreach ($arrCid as $valCid) {

		//获取cid
		$cid = $valCid;
		// var_dump($cid);

		//物理删除当前版块(可能为父级版块,也可能为子级版块)
		$resCurr = myDelete($link , DB_TABLE_CG , "cid = $cid");

		//判断当前版块是否物理删除成功
		if (!$resCurr) {
			exit('当前版块永久删除失败');
		}

		//判断是否为父级cid
		$resCid   = mySelect($link , '*' , DB_TABLE_CG , "where cid=$cid");
		$parentid = $resCid[0]['parentid'];
		$classid   = $resCid[0]['cid'];
		// var_dump($resCid);

		//定义一个空变量,防止报错
		$str = '';

		//判断是否为父级版块
		if  ($parentid == 0) {

			
			//获取父级版块下的子级版块
			$selSon =  mySelect($link , '*' , DB_TABLE_CG  , "where  parentid=$cid");
			// var_dump($selSon);

			//该版块若存在子版块
			if ($selSon) {

				//物理删除父级版块下的子版块
				$resSon = myDelete($link , DB_TABLE_CG  , "parentid=$cid");
				// var_dump($resSon);

				//物理删除子版块成功
				if ($resSon) {
					$str .= '、子版块、';
				}

				//查找出子版块的cid 存入数组
				foreach ($selSon as $valSon) {
					$rowCid[] = $valSon['cid'];
				} 
				//将子版块cid拼接成字符串
				$strRowCid = join(',' , $rowCid);
				// var_dump($rowCid);
				// var_dump($strRowCid);
				
				//查找回收的子版块下的帖子是否存在, 并获取帖子id 
				$selSon2 = mySelect($link , '*' , DB_TABLE_DETAIL  , " where  classid in ($strRowCid)");
				// var_dump($selSon2);

				//若子版块中存在帖子
				if ($selSon2) {

					//物理删除回收版块下的帖子
					$updateSon2 = myDelete($link , DB_TABLE_DETAIL  , "classid in ($strRowCid)") ;
					// var_dump($updateSon2);

					//物理删除帖子成功
					if ($updateSon2) {
						$str .= '帖子、';
					}

					//获取帖子的id 数组,用于判断评论
					foreach ($selSon2 as $valSon2) {

						$arrId[] = $valSon2['id'];
					}
					$strId = join(',' , $arrId);
					// var_dump($strId);

					//查询帖子的评论
					$selSon3 = mySelect($link , '*' ,DB_TABLE_DETAIL , "where  id in ($strId)");

					//若帖子存在评论,删除评论
					if ($selSon3) {

						//物理删除评论
						$updateSon3 = myDelete($link , DB_TABLE_DETAIL , "tid in ($strId)");
						//物理删除评论成功
						if ($updateSon3) {
							$str .= '帖子的评论';
						}

							/**********************************/
							/*	//之后添加评论的回复伪删除过程    */
							/*	//查询评论的回复(sql查询)	     */
							/*	//若评论的回复存在(if判断)	     */
							/*	//修改评论的回复(sql修改)	     */
							/*********************************/
					}
					
				}
				
			}

		} else {

			//若当前版块不是父级版块
			//查询当前版块是否存在帖子
			$selSon2 = mySelect($link , '*' , DB_TABLE_DETAIL , "where  classid=$classid");
			// var_dump($selSon2);

			//若版块中存在帖子
			if ($selSon2) {

				//物理删除回收版块下的帖子
				$updateSon2 = myDelete($link , DB_TABLE_DETAIL , "classid=$classid") ;
				// var_dump($updateSon2);
				//隐藏帖子成功
				if ($updateSon2) {
					$str .= '、帖子';
				}

				//获取帖子的id 数组,用于判断评论
				foreach ($selSon2 as $valSon2) {

					$arrId[] = $valSon2['id'];
				}
				$strId = join(',' , $arrId);
				// var_dump($strId);

				//查询帖子的评论
				$selSon3 = mySelect($link , '*' ,DB_TABLE_DETAIL , "where  id in ($strId)");

				//若帖子存在评论,物理删除评论
				if ($selSon3) {

					//物理删除评论
					$updateSon3 = myDelete($link , DB_TABLE_DETAIL  , "tid in ($strId)");
					//物理删除评论成功
					if ($updateSon3) {
						$str .= '、帖子评论均';
					}
					
						/**********************************/
						/*	//之后添加评论的回复伪删除过程    */
						/*	//查询评论的回复(sql查询)	     */
						/*	//若评论的回复存在(if判断)	     */
						/*	//修改评论的回复(sql修改)	     */
						/*********************************/
				}
				
			}
		
		}

		
	}

	//跳转页面
	 echo  '当前版块' . $str . ' 都 已永久删除成功';
	header('refresh:1;url=' . $_SERVER['HTTP_REFERER']);
	

	/*
		//一次性删除选项,未判断逻辑联系
	$delCategory = myDelete($link , DB_TABLE_CG , "cid in ($strCid)");
	var_dump($delCategory);

	if (!$delCategory) {

		exit('删除失败');
	}

	//跳转页面
	echo '删除成功';
	header('refresh:3;url=' . $_SERVER['HTTP_REFERER']);*/
}

/****************************************************/
